#ifndef OBJECTS_H_
#define OBJECTS_H_

class Platform
{
public:
	Platform()
	{
	}

	Platform(int inX,int inY, int inC){
		x = inX;
		y = inY;
		c = inC;
		drawn = true;
	}
	int getx(){
		return x;
	}
	int gety(){
		return y;
	}
	int getc(){
		return c;
	}
	void dimension(int w,int h){
		width = w;
		height = h;
	}
	void draw(int dx, int dy, int dc)
	{
		//Gfx_drawImage(BLOCK,dx,dy);

		 if(dc==0)
			 Gfx_drawImage(BLOCK_AQUA,dx,dy);
		 else if(dc==1)
		 	Gfx_drawImage(BLOCK_GREEN,dx,dy);
		 else if(dc==2)
		 	Gfx_drawImage(BLOCK_PURPLE,dx,dy);
		 else if(dc==3)
		 	Gfx_drawImage(BLOCK_YELLOW,dx,dy);

	}
	bool isDrawn(){
		return drawn;
	}
private:

	bool drawn;
	int x;
	int y;
	int c;
	int width;
	int height;
	int color;


};

class Orb
{
public:
	Orb()
	{
	}

	Orb(int inX,int inY,int c){
		x = inX;
		y = inY;
		drawn = true;
		color = c;
	}

	void deactivate()
	{
		drawn = false;
	}
	int getColor(){
		return color;
	}
	int getx(){
		return x;
	}
	int gety(){
		return y;
	}
	bool isDrawn(){
		return drawn;
	}
	void setx(int inx)
	{
		x = inx;
	}
	void sety(int iny)
	{
		y = iny;
	}

	void draw(int dx, int dy)
	{
		if(drawn == false)
			return;

		if (color == 0)
			Gfx_drawImage(ORB_RED,dx,dy);
		else
			Gfx_drawImage(ORB_BLUE,dx,dy);
	}

private:

	int color;
	bool drawn;
	int x;
	int y;

};

class Camera
{
public:
	Camera(){
		x_offset = 0;
		y_offset = 0;
	}
	int xOffset(){
		return x_offset;
	}
	int yOffset(){
		return y_offset;
	}
	void camIncrement(int x)
	{
		x_offset += x;
	}
	void setCamera(int x,int y){
		x_offset = x;
		y_offset = y;
	}
private:

	int x_offset;
	int y_offset;

};

#endif

